/**************************************
 *
 * validate.js 存放数据验证函数
 * @version: 1.0.0
 * @author: 王嘉庆
 *
 **************************************/
export default {
    /**
     * 判断函数是否是合法的 URL
     * @param {String} str
     */
    isUrl(str) {
        const reg = /^(https?|ftp):\/\/([a-zA-Z0-9.-]+(:[a-zA-Z0-9.&%$-]+)*@)*((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]?)(\.(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])){3}|([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+\.(com|edu|gov|int|mil|net|org|biz|arpa|info|name|pro|aero|coop|museum|[a-zA-Z]{2}))(:[0-9]+)*(\/($|[a-zA-Z0-9.,?'\\+&%$#=~_-]+))*$/
        return reg.test(str)
    },
    /**
     * 判断字符串是否是小写字母
     * @param {String} str
     */
    isLowerCase(str) {
        const reg = /^[a-z]+$/
        return reg.test(str)
    },
    /**
     * 判断字符串是否是大写字母
     * @param {String} str
     */
    isUpperCase(str) {
        const reg = /^[A-Z]+$/
        return reg.test(str)
    },
    /**
     * 判断字符串是否是大小写混合
     * @param {String} str
     */
    isAlphabets(str) {
        const reg = /^[A-Za-z]+$/
        return reg.test(str)
    },
    /**
     * 判断字符串是否是手机号码
     * @param {String} str
     */
    isMobile(str) {
        const reg = /^1[3|4|5|8][0-9]\d{4,8}$/
        return reg.test(str)
    },
    /**
     * 用户名验证，3到16位（字母，数字，下划线，减号）
     * @param {string} str
     * @returns {Boolean}
     */
    validUsername(str) {
        return /^[a-zA-Z0-9_-]{3,16}$/.test(str)
    }
      
}